<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>

    <script>

        // 函数：实现一个功能

        // return  返回一个结果，提前结束函数
        //    函数的返回值可以是任意类型的数据 --- 函数的返回值也可以是函数

        // 形参和实参

        // 作用域和作用域链
        //    函数内部声明的变量叫做局部变量 ， 只能再函数内部使用
        //    再函数外面声明的变量叫做全局变量   全局变量在函数内外都可以使用
        
        //    在函数中使用一个变量的时候，优先找自己的变量，自己没有就向上一层(函数), 一直到找到为止


        //  递归  --- 循环


        //  回调


       

        function fn() {
            
            // log这个函数没有返回值   a undefined
            // var a = console.log(2) ;
            // return a ;   // return undefined


            // console.log('参数有误'); 
            // return ;
            // return console.log(2);   
        }


        // 接受函数fn的执行结果   而fn没有返回值  res为undefined
        var res = fn() ;
        console.log(res);




        function fn() {
            return Math.random()
        }

        var res = fn() ;


        function get(id) {

            // getElementById 是一个函数  它会返回获取到的这个标签元素
            // var ele = document.getElementById(id) ;
            // return ele ;

            return document.querySelector(ele) ;
        }




        function ff() {
            // return 2 
            // return 'hi' 

            // return [1,2,3]

            // return {a:1}

            var f = function() {
                console.log(3);
            }

            return f ;

            // return function() {
            //     console.log(3);
            // }

        }



        var res = ff() ;
        console.log(res);
        // res();

        // ff()()
        



        


    </script>
    
</body>
</html>